<template>
	<div class="wrapper">

		<!-- header部分 -->
		<header>
			<i class="fa fa-arrow-circle-left" @click="back()">返回</i>
			<p>编辑商品</p>
		</header>

		<!-- 表单部分 -->
		<ul class="form-box">
			<li>
				<div class="title">商品名称：</div>
				<div class="content">
					<input type="text" v-model="goods.foodName" placeholder="商品名称">
				</div>
			</li>
			<li>
				<div class="title">商品信息：</div>
				<div class="content">
					<input type="text" v-model="goods.foodExplain" placeholder="商品信息">
				</div>
			</li>
			<li>
				<div class="title">商品价格：</div>
				<div class="content">
					<input type="number" v-model="goods.foodPrice" placeholder="商品价格" step="0.01">
				</div>
			</li>
		</ul>


		<div class="button-add">
			<button @click="addgoods()">保存</button>
		</div>

		<!-- 底部菜单部分 -->
		<Footer></Footer>

	</div>
</template>

<script>
import Footer from '../components/Footer.vue';

export default {
	name: 'EditGoods',
	data() {
		return {
			businessId: this.$route.query.businessId,
			user: {},
			goods: {
				foodName: '',
				foodExplain: '',
				foodPrice: '',
				foodId: ''
			}
		}
	},
	created() {
		this.user = this.$getSessionStorage('user');
		const foodId = this.$route.query.foodId;
		console.log('foodid:', this.goods.foodId);

		// 如果传递了foodId, 则加载商品信息
		if (foodId) {
			this.loadFoodDetails(foodId);
		}
	},
	components: {
		Footer
	},
	methods: {
		// 加载食品详情
		loadFoodDetails(foodId) {
			this.$axios.post('FoodController/getFoodById', this.$qs.stringify({
				foodId: foodId
			})).then(response => {
				const food = response.data;
				this.goods.foodName = food.foodName;
				this.goods.foodExplain = food.foodExplain;
				this.goods.foodPrice = parseFloat(food.foodPrice); // 确保价格为浮点数
				this.goods.foodId = food.foodId; // 确保 foodId 被正确绑定
			}).catch(error => {
				console.error('加载食品详情失败:', error);
			});
		},


		back() {
			// 使用浏览器的回退功能返回上一页
			window.history.back();
		},

		// 验证并提交商品信息
		addgoods() {
			if (this.goods.foodname === '' || this.goods.foodExplain === '' || this.goods.foodprice === '') {
				alert('请填写所有字段');
				return;
			}

			// 提交商品信息到后端
			this.$axios.post('FoodController/updateFood', this.$qs.stringify(this.goods))
				.then(response => {
					if (response.data > 0) {
						this.$router.push({
							path: '/goodsManage',
							query: {
								businessId: this.businessId
							}
						});
					} else {
						alert('保存商品失败！');
					}
				})
				.catch(error => {
					console.error('保存商品失败:', error);
				});
		}

	}
}
</script>

<style scoped>
/*************** 总容器 ***************/
.wrapper {
	width: 100%;
	height: 100%;
}

/*************** header ***************/
.wrapper header {
	width: 100%;
	height: 12vw;
	background-color: #0097FF;
	display: flex;
	justify-content: space-around;
	align-items: center;
	color: #fff;
	font-size: 4.8vw;
	position: fixed;
	left: 0;
	top: 0;
	/*保证在最上层*/
	z-index: 1000;
}

.wrapper header i {
	color: #fff;
	font-size: 3vw;
	position: absolute;
	left: 0;
	text-align: left;
	cursor: pointer;
}

/*************** （表单信息） ***************/
.wrapper .form-box {
	width: 100%;
	margin-top: 12vw;
}

.wrapper .form-box li {
	box-sizing: border-box;
	padding: 4vw 3vw 0vw 3vw;
	display: flex;
}

.wrapper .form-box li .title {
	flex: 0 0 18vw;
	font-size: 3vw;
	font-weight: 700;
	color: #666;
}

.wrapper .form-box li .content {
	flex: 1;
	display: flex;
	align-items: center;
}

.wrapper .form-box li .content input {
	border: none;
	outline: none;
	width: 100%;
	height: 4vw;
	font-size: 3vw;
}

.wrapper .button-add {
	box-sizing: border-box;
	padding: 4vw 3vw 0vw 3vw;
}

.wrapper .button-add button {
	width: 100%;
	height: 10vw;
	font-size: 3.8vw;
	font-weight: 700;

	border: none;
	outline: none;
	border-radius: 4px;
	color: #fff;
	background-color: #38CA73;
}

.error {
	color: red;
	font-size: 3vw;
	margin-top: 1vw;
}
</style>
